function net =  ADD_DenoiseNet( net, n, filter_size1,  Positions,   filter_size2 )
config;
NameL = @(x, n) strcat( x,'_', saveName(n, 2));
NameP = @(x, n, p) strcat( x,'_', saveName(n, 2), '_', saveName(p, 1));


net.addLayer(  NameL('conv1',n)  , ...
                   dagnn.Conv2D('size', filter_size1), ...
                   NameL('ADD',n), NameL('conv1',n), ...
                   {NameP('conv1',n,1), NameP('conv1',n ,2)}) ; 
               
 net.addLayer( NameL('nonlinear',n), ...
                        dagnn.Nonlinear( 'depthL', filter_size1(4),  'positions', Positions,  'gp', nnconfig.EnableGPU  ), ...
                       NameL('conv1',n), NameL('nonlinear',n), ...
                      {NameP('nonlinear',n,1)}) ;  

                 
net.addLayer( NameL('conv2',n), ...
                   dagnn.Conv2D('size', filter_size2), ...
                    NameL('nonlinear',n), NameL('conv2',n), ...
                   {NameP('conv2',n,1), NameP('conv2',n ,2)}) ;   
               
               
end